package pers.xiaojun.boot.module.system.service.oauth2;

import com.baomidou.mybatisplus.extension.service.IService;
import pers.xiaojun.boot.module.system.dao.entity.oauth2.OAuth2ClientDO;

import java.util.List;

/**
 * OAuth2 客户端服务层
 *
 * @author xiaojun
 * @since 2025-10-16
 */
public interface OAuth2ClientService extends IService<OAuth2ClientDO> {

    /**
     * 校验客户端信息，并返回客户端完整信息
     *
     * @param clientId     客户端Id
     * @param secret       密钥
     * @param responseType 响应类型
     * @param redirectUri  重定向地址
     * @param scopes       授权范围
     * @return 客户端信息
     */
    OAuth2ClientDO checkOAuth2Client(String clientId, String secret,
                                     String responseType, String redirectUri,
                                     List<String> scopes);

    /**
     * 校验客户端信息，并返回客户端完整信息
     *
     * @param clientId 客户端id
     * @return 客户端信息
     */
    OAuth2ClientDO checkOAuth2Client(String clientId, String secret);


}
